Agentes Inteligentes


    Um agente é qualquer Ente que pode perceber seu ambiente através de sensores e agir sobre o ambiente através de atuadores. Os sensores de um agente humano são seus olhos, ouvidos, mãos, etc. e seus atuadores são suas pernas, boca, etc., já um agente robótico tem câmeras, sensores de IR, etc. como seus sensores e motores, válvulas, etc. como seus atuadores.


    Um agente bem comportado deve selecionar uma ação que se espera maximizar a medida de desempenho, dada a evidência fornecida pela sequência de percepções e por qualquer conhecimento interno do agente.


Racionalidade


    A racionalidade é relativa a medida de desempenho e a definição do que é racional em qualquer instante dado depende de quatro fatores: A medida de dessempenho que define o critério de sucesso; O conhecimento prévio que o agente tem do ambiente; As ações que o agente pode executar; A sequência de percepções do agente até o momento;


    Para definir o ambiente de tarefa necessitamos do desempenho, ambiente, atuadores e sensores que são conhecidos como PEAS(Performance, Enviroment, Actuators, Sensors).


Tipos de Ambiente


    O ambiente pode ter vários tipos e eles são classificados por areas, pois podem ser: Completamente ou parcialmente observável; Multi ou único agente; Determinístico ou estocástico; Episódico ou sequencial; Estático ou dinâmico; Discreto ou contínuo; e a junção de todas essas categorias determinam o tipo do ambiente.


Tipos de Agentes


    Existem quatro tipos de agentes que são reativos simples, reativos baseados em modelo, baseados em objetivos e baseados em utilidade. Os agentes reativos simples são os mais limitados, pois eles simplesmente reagem ao estado atual do ambiente, ignorando o histórico da ação e só funcionam em ambientes completamente observáveis. Já os reativos baseados em modelo podem funcionar em ambientes parcialmente observáveis, pois eles armazenam o passado do seu ambiente e sua evolução e tenta decidir a melhor ação a ser tomada usando isso como base. Os baseados em objetivos necessitam de uma informação que vai amndar nas ações tomadas que sempre irão buscar se aproximar cada vez mais dessa informação, que passa a ser seu objetivo, e ele considera o que vai acontecer se ele tomar certa decisão no futuro. Os baseados em utilidade procura atender ao seu objetivo da forma mais útil possível e para isso mede as preferências entre estados e escolhe a ação que vai maximizar a utilidade esperada.


Agentes de busca


    Os agentes de busca são agentes baseados em objetivos que consideram o impacto de ações em futuros estados e seu trabalho é identificar a ação ou séries de ações que levam ao objetivo e para ter o funcionamento correto, devemos formular o problema a ser resolvido. A formulação de problemas pode ser definida formalmente por cinco componentes: O estado inicial, as ações, a transição de estado, o teste de objetivo e o custo do "caminho".


    Após obtermos o problema, temos o espaço de busca que é representado por uma árvore de busca ou um gráfico de possíveis soluções. Na árvore de busca temos o nó raiz que representa o estado inicial, os ramos que representam as ações efetuadas e os nós que são os resultados das ações. A árvore é dividida em três regiões, explorado, fronteira ou borda e inexplorado.

Busca Cega


    A busca cega é um tipo de busca onde a máquina não tem nenhuma informação sobre o seu objetivo e ela só vai saber informações sobre ele quando ela concluir sua busca e chegar em seu objetivo.


    Existem cinco estratégias de busca cega que são: busca em extensão ou largura, em profundidade, em profundiade limitada, aprofundamento iterativo e com custo uniforme. A busca em extensão sempre escolhe o nó mais raso na borda para ser explorado e utiliza uma fila FIFO(First In First Out) para fazer a sua iteração na borda. Ela é completa se a extensão da árvore de busca for finita, é óyima se o custo de cada passo for igual a 1, mas toma muito tempo e muito espaço na memória, pois uma árvore de profundidade 16 com fator de ramificação 10 demora 350 anos para ser concluída e 10 Exabytes de espaço para ser possível.


    Já a busca em profundidade escolhe o nó mais profundo na borda para ser explorado primeiro e utiliza uma pilha para sua implementação. Ela é uma busca completa se a profundidade for finita, não é ótima, pode ser mais rápida que a busca em extensão se as soluções forem mais densas e o espaço utilizado é muito menor, usando o exemplo anterior o espaço usado cai para 156 kilobytes!


    A busca em profundidade limitada é parecida com a anterior, mas com a sua profundidade limitada pelo computador para que nao ocorra uma árvore de profundidade infinita e a busca não seja infinita.


    A estratégia de aprofundamento iterativo combina os benefícios da busca em extensão e da busca em profundidade e consiste em aumentar iterativamente o limite de busca até que a solução mais rasa seja encontrada, ela aplica a profundidade limitada com limites crescentes.


    A estratégia de custo uniforme modifica a busca em largura, agora priorizando o nó com o menor custo. É uma estrtégia completa, ótima, não tem muitos problemas com espaço e também não tem problemas com o tempo gasto.